***** Script dos resultados do artigo "Coordenação federativa e desigualdades territoriais: o alcance e os limites da política redistributiva da União juntos 
***** aos municípios no campo da saúde"

** Autoria: Gabriel Santana Machado (FGV), Fernando Luiz Abrucio (FGV) e Eduardo José Grin (FGV)**


**** Dicionários das variáveis *****
* Obs: todas as fontes de dados, assim como as respectivas escolhas metodológicas, podem ser consultadas diretamente no texto do artigo

* Ano = ano a que diz respeito a respectiva variável
* TP_REPASSE = tipo de repasse
* UF = unidade da federação
* IBGE = código IBGE do município
* MUNICIPIO = nome do município
* BLOCO = bloco do nível de atenção do repasse federal
* COMPONENTE = tipo de transferência federal realizada no âmbito do bloco selecionado
* IPCA = índice de deflação dos valores financeiros
* pop = população do município
* valor_liq_cor = valor líquido corrigido (deflacionado) dos repasses federais
* faixa_pop = faixa populacional do município
* regiao = região geográfica do município
* estabelecimento_ambulatorial_bas = número de estabelecimentos ambulatoriais básicos
* consultorio_ambulatorial_basico = número de consultórios ambulatoriais básicos
* consultorio_ambulatorial_especia = número de consultórios ambulatoriais especializados
* consultorio_odontologico = número de consultórios odontológicos
* dentista = número de dentistas
* enfermeiro = número de enfermeiros
* medico = número de médicos
* equipamentos = número de equipamentos ambulatoriais básicos
* leitosderepouso_indiferenciado = número de leitos de repouso
* ANS = quantidade de pessoas asseguradas por um plano privado de saúde no município
* dependencia_sistema_public = percentual da população dependente exclusivamente do sistema público de saúde

*** Ponderação dos indicadores de capacidades estatais pela população dos municípios ***

gen estab_amb_bas_por_10_mil = (estabelecimento_ambulatorial_bas / pop)*10000
gen consul_amb_bas_por_10_mil = (consultorio_ambulatorial_basico / pop)*10000
gen consul_amb_esp_por_10_mil = (consultorio_ambulatorial_especia / pop)*10000
gen consul_odontologico_por_10_mil = (consultorio_odontologico / pop)*10000
gen dentista_por_mil = (dentista/ pop)*1000
gen enfermeiro_por_mil = (enfermeiro/ pop)*1000
gen medico_por_mil = (medico / pop)*1000
gen equipamentos_por_10_mil = (equipamentos / pop)*10000
gen leitos_por_mil = (leitosderepouso_indiferenciado/ pop)*1000


*** Identificação dos clusters de municípios ***


cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2005 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_05)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2006 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_06)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2007 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_07)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2008 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_08)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2009 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_09)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2010 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_10)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2011 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_11)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2012 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_12)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2013 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_13)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2014 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_14)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2015 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_15)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2016 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_16)
cluster wardslinkage estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if ANO == 2017 & COMPONENTE == "pab fixo", measure(L2squared) name(cluster_17)



cluster generate cluster_2005 = groups(5), name(cluster_05) ties(error)
cluster generate cluster_2006 = groups(5), name(cluster_06) ties(error)
cluster generate cluster_2007 = groups(5), name(cluster_07) ties(error)
cluster generate cluster_2008 = groups(5), name(cluster_08) ties(error)
cluster generate cluster_2009 = groups(5), name(cluster_09) ties(error)
cluster generate cluster_2010 = groups(5), name(cluster_10) ties(error)
cluster generate cluster_2011 = groups(5), name(cluster_11) ties(error)
cluster generate cluster_2012 = groups(5), name(cluster_12) ties(error)
cluster generate cluster_2013 = groups(5), name(cluster_13) ties(error)
cluster generate cluster_2014 = groups(5), name(cluster_14) ties(error)
cluster generate cluster_2015 = groups(5), name(cluster_15) ties(error)
cluster generate cluster_2016 = groups(5), name(cluster_16) ties(error)
cluster generate cluster_2017 = groups(5), name(cluster_17) ties(error)


** Juntar todos os valores de cluster em uma única variável **

mvencode cluster_2005 cluster_2006 cluster_2007 cluster_2008 cluster_2009 cluster_2010 cluster_2011 cluster_2012 cluster_2013 cluster_2014 cluster_2015 cluster_2016 cluster_2017, mv(0)
generate double cluster_todos = cluster_2005 + cluster_2006 + cluster_2007 + cluster_2008 + cluster_2009 + cluster_2010 + cluster_2011 + cluster_2012 + cluster_2013 + cluster_2014 + cluster_2015 + cluster_2016 + cluster_2017
mvdecode cluster_2005 cluster_2006 cluster_2007 cluster_2008 cluster_2009 cluster_2010 cluster_2011 cluster_2012 cluster_2013 cluster_2014 cluster_2015 cluster_2016 cluster_2017  cluster_todos, mv(0)


*** Observação: os clusters que foram calculados a partir do recorte do PAB fixo, devido à estrutura do dataset, agora precisam ser atribuídos para 
** as linhas do PAB variável, de modo que a mesma atribuição de cluster seja feita por ano e município. Para isso, foi feita uma cópia do banco de dados, 
** os valores missing da variável cluster_todos foram excluídos, e essa cópia foi adicionada à base original pela função "Many to one on key variables" a 
** partir das variáveos ANO e IBGE. Com isso, todos os municípios possuem a mesma atribuição de cluster para as duas modalidades de transferência.


*** Resultados ***


** Figura 1. Valor médio per capita do PAB fixo e variável por porte populacional e ano (2000-2017)

graph bar (mean) pab_per_capita, over(faixa_pop) over(COMPONENTE) by(ANO)

graph bar (mean) pab_per_capita, over(faixa_pop) over(COMPONENTE_EN) by(ANO)

** Figura 2 – Valor médio per capita do PAB fixo e variável por região e ano (2000-2017)

graph bar (mean) pab_per_capita, over(regiao) over(COMPONENTE) by(ANO)

graph bar (mean) pab_per_capita, over(regiao) over(COMPONENTE_EN) by(ANO)

** Tabela 1 – Média dos indicadores de capacidades estatais em saúde por cluster de municípios e ano (2005-2017)

tabstat estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if COMPONENTE == "pab variavel", statistics( mean ) by(cluster_todos)

** Figura 3 - Figura 3 – Razão dos valores médios das variáveis de capacidades estatais em saúde do cluster melhor situado em relação ao cluster pior situado de 2005 à 2017
** Formulada manualmente a partir dos dados da seguinte tabela:

by ANO, sort : tabstat estab_amb_bas_por_10_mil consul_amb_bas_por_10_mil consul_amb_esp_por_10_mil consul_odontologico_por_10_mil dentista_por_mil enfermeiro_por_mil medico_por_mil equipamentos_por_10_mil leitos_por_mil if COMPONENTE == "pab variavel", statistics( mean ) by(cluster_todos)


** Tabela 2 – Média do PAB variável per capita por cluster de municípios e ano (2005-2017)

by ANO, sort : tabstat pab_per_capita if COMPONENTE == "pab variavel", statistics( mean count ) by(cluster_todos)


** Figura 4 – Box plot do PAB variável per capita por cluster e ano

graph box pab_per_capita if COMPONENTE == "pab variavel", over(cluster_todos) over(ANO)


** Figura 5 – Percentual da quantidade de municípios por cluster e ano

graph bar (count) if COMPONENTE == "pab variavel", over(cluster_todos) over(ANO)


** Figura 6 – Box plot do percentual da população municipal dependente exclusivamente do sistema público de saúde por cluster e ano

graph box dependencia_sistema_public if COMPONENTE == "pab variavel" &  dependencia_sistema_public > 0 & dependencia_sistema_public < 1, over(ANO) over(cluster_todos)






